/*
 * ITeacherNameList.h
 *
 *  Created on: 10 May 2010
 *      Author: Savramis Sartios
 */

#ifndef ITEACHERNAMEITERATOR_H_
#define ITEACHERNAMEITERATOR_H_
#include <string>
using namespace std;

class ITeacherNameIterator{
public :
	/**
	 * Ξεκινά από το πρώτο στοιχείο της δομής
	 */
	virtual void first()=0;

	/**
	 * Πηγαίνει στο επόμενο στοιχείο της δομής
	 */
	virtual void next()=0;

	/**
	 * Ελέγχει έαν η δομή έφτασε στο τέλος της
	 * \return false εάν βρισκόμαστε μέσα στα όρια της δομής
	 */
	virtual bool isDone()=0;

	/**
	 * Επιστρέφει τον τρέχων κωδικό
	 */
	virtual string 	getCurrentTeacherCode()=0;

	/**
	 * Επιστρέφει το όνομα του καθηγητή στον οποίο ανήκει ο κωδικός
	 * \param teacherCode ο κωδικός του καθηγητή
	 * \return string το όνομα του καθηγητή
	 */
	virtual string 	getTeacherName(const string *teacherCode)=0;
};
#endif /* ITEACHERNAMELIST_H_ */
